索引:功能类说明 内容 业务对象类 DocAction 接口 MDocType 类 X_C_DocType 类 参考【ADempiere开发手册】 The ADempiere Bazaar’s Sourcecode Expose 2/5/2009 Kevin D.J White, Mario Calderon, Norbert Wessel and others 业务对象类 org.compiere.model **业务对象类**分为2种,一种是含工作流的transaction类单据,一种是不含工作流的Maintain型主数据。 1 工作流业务对象类,如MInvoice, Morder 业务对象类在工作流(workflow)中调用,因此这些类一定要满足工作流的需求,同时还要满足业务需求。 ● 如:MInvoice, Morder的类定义 public class Minvoice extends X_C_Invoice implements DocAction DocAction 接口使得类实现 realize(识别)一个工作流的方法,这些方法从按钮触发,按钮定义在窗口里数据库表与列信息定义在AD(应用程序字典)中,根据DocAction 的当前状态和下一个状态来调用相关的方法。 ● 实现实际业务逻辑交互的方法,如在 MInvoice 中: - validatePaySchedule() - testAllocation() - getOpenAmt() - 等等 ● 业务各实现一个对象 cache - private static CCache<Integer,MInvoice> s_cache= new CCache<Integer,MInvoice>("C_Invoice", 20, 2); // 2 minutes ● cache 中对象数据(20)与生存周期(2 分钟)对每个对象来说都不同 ● org.compiere.util.CacheMgt 通过应用服务器管理 Cache 2 主数据业务对象,如 MProduct ● 定义:public class Mproduct extends X_M_Product ● 无实现部分 DocAction 接口 org.compiere.process public interface DocAction ●工作流业务对象实现方法定义在 DocAction,如:public class MInvoice extends X_C_Invoice implements DocAction. 实现 DocAction 接口的 BO(业务对象)称为 Document(单据),最终情况依赖于对象。 MDocType 类 Package org.compiere.model public class MdocType extends X_C_DocType ●代表一个单据类型 由 BOs 根据单据类型初始化(在方法 prepare()或 getDocumentInfo()中)。 ● 只有几个方法,没有公共属性 X_C_DocType 类 好象也是由 GenerateModel 生成 package org.compiere.model public class X_C_DocType extends PO